package com.dragon.modules.yuegou.entity.system;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.OwnerType;
import com.dragon.modules.yuegou.enums.system.RoleStatus;
import com.dragon.modules.yuegou.enums.system.RoleType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 系统角色实体类<br>
 * 对应的表为：sys_role<br>
 * 
 * @author pbuilder generated
 * @date 2019-08-15 10:09:51
 * @company sgy
 * @version 2.0
 */
@TableName("sys_role")
@ApiModel(description = "系统角色")
public class RoleEntity {
	protected String id;

    /** 角色名 */
	@ApiModelProperty("角色名")
	protected String roleName;

    /** 描述 */
	@ApiModelProperty("描述")
	protected String description;

    /** 英文名 */
	@ApiModelProperty("英文名")
	protected String enName;

    /** [枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED */
	@ApiModelProperty("[枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED")
	protected RoleStatus status;

    /** [枚举]类型：0-用户级-USER、2-系统级-SYSTEM */
	@ApiModelProperty("[枚举]类型：0-用户级-USER、2-系统级-SYSTEM")
	protected RoleType type;

    /** [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT */
	@ApiModelProperty("[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT")
	protected OwnerType ownerType;

    /** 商圈id */
	@ApiModelProperty("商圈id")
	protected String busdId;

    /** 集团id */
	@ApiModelProperty("集团id")
	protected String groupId;

    /**  */
	protected LocalDateTime createdTime;

    /**  */
	protected String createdBy;

    /**  */
	protected LocalDateTime modifiedTime;

    /**  */
	protected String modifiedBy;

    /** 逻辑删除，1表示已删除,0表示未删除 */
	@ApiModelProperty("逻辑删除，1表示已删除,0表示未删除")
	protected Boolean del;

    /**  */
	protected String delBy;

    /**  */
	protected LocalDateTime delTime;

	/**
	 * 构造一个空系统角色实体对象
	 */
	public RoleEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个系统角色实体对象
	 * 
	 * @param other 其它对象
	 */
	public RoleEntity(RoleEntity other){
		super();
     	this.id = other.id;
     	this.roleName = other.roleName;
     	this.description = other.description;
     	this.enName = other.enName;
     	this.status = other.status;
     	this.type = other.type;
     	this.ownerType = other.ownerType;
     	this.busdId = other.busdId;
     	this.groupId = other.groupId;
     	this.createdTime = other.createdTime;
     	this.createdBy = other.createdBy;
     	this.modifiedTime = other.modifiedTime;
     	this.modifiedBy = other.modifiedBy;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取角色名
	 * 
	 * @return roleName 角色名
	 */
	public String getRoleName() {
		return roleName;
	}
  	
	/**
	 * 设置角色名
	 * 
	 * @param roleName 角色名
	 */
	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	/**
	 * 获取描述
	 * 
	 * @return description 描述
	 */
	public String getDescription() {
		return description;
	}
  	
	/**
	 * 设置描述
	 * 
	 * @param description 描述
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获取英文名
	 * 
	 * @return enName 英文名
	 */
	public String getEnName() {
		return enName;
	}
  	
	/**
	 * 设置英文名
	 * 
	 * @param enName 英文名
	 */
	public void setEnName(String enName) {
		this.enName = enName;
	}

	/**
	 * 获取[枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED
	 * 
	 * @return status [枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED
	 */
	public RoleStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED
	 * 
	 * @param status [枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED
	 */
	public void setStatus(RoleStatus status) {
		this.status = status;
	}

	/**
	 * 获取[枚举]类型：0-用户级-USER、2-系统级-SYSTEM
	 * 
	 * @return type [枚举]类型：0-用户级-USER、2-系统级-SYSTEM
	 */
	public RoleType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]类型：0-用户级-USER、2-系统级-SYSTEM
	 * 
	 * @param type [枚举]类型：0-用户级-USER、2-系统级-SYSTEM
	 */
	public void setType(RoleType type) {
		this.type = type;
	}

	/**
	 * 获取[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 * 
	 * @return ownerType [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 */
	public OwnerType getOwnerType() {
		return ownerType;
	}
  	
	/**
	 * 设置[全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 * 
	 * @param ownerType [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT
	 */
	public void setOwnerType(OwnerType ownerType) {
		this.ownerType = ownerType;
	}

	/**
	 * 获取商圈id
	 * 
	 * @return busdId 商圈id
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈id
	 * 
	 * @param busdId 商圈id
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取集团id
	 * 
	 * @return groupId 集团id
	 */
	public String getGroupId() {
		return groupId;
	}
  	
	/**
	 * 设置集团id
	 * 
	 * @param groupId 集团id
	 */
	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	/**
	 * 获取
	 * 
	 * @return createdTime 
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdTime 
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 * 
	 * @return createdBy 
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdBy 
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedTime 
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedTime 
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedBy 
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedBy 
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @return del 逻辑删除，1表示已删除,0表示未删除
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @param del 逻辑删除，1表示已删除,0表示未删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取
	 * 
	 * @return delBy 
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置
	 * 
	 * @param delBy 
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取
	 * 
	 * @return delTime 
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param delTime 
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

    public String toString() {
		return new StringBuilder().append("RoleEntity{").
			append("id=").append(id).
			append(",roleName=").append(roleName).
			append(",description=").append(description).
			append(",enName=").append(enName).
			append(",status=").append(status).
			append(",type=").append(type).
			append(",ownerType=").append(ownerType).
			append(",busdId=").append(busdId).
			append(",groupId=").append(groupId).
			append(",createdTime=").append(createdTime).
			append(",createdBy=").append(createdBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public RoleEntity copy() {
		return new RoleEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 角色名 */
	public static final String COL_ROLE_NAME = "role_name";

    /** 描述 */
	public static final String COL_DESCRIPTION = "description";

    /** 英文名 */
	public static final String COL_EN_NAME = "en_name";

    /** [枚举]状态：1-已启用-ENABLED、2-禁用-DISABLED */
	public static final String COL_STATUS = "status";

    /** [枚举]类型：0-用户级-USER、2-系统级-SYSTEM */
	public static final String COL_TYPE = "type";

    /** [全局枚举]所有者类型：0-平台-PLATFORM、1-集团-GROUP、2-商圈-BUSINESS_DISTRICT、3-商户-MERCHANT */
	public static final String COL_OWNER_TYPE = "owner_type";

    /** 商圈id */
	public static final String COL_BUSD_ID = "busd_id";

    /** 集团id */
	public static final String COL_GROUP_ID = "group_id";

    /**  */
	public static final String COL_CREATED_TIME = "created_time";

    /**  */
	public static final String COL_CREATED_BY = "created_by";

    /**  */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /**  */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 逻辑删除，1表示已删除,0表示未删除 */
	public static final String COL_DEL = "del";

    /**  */
	public static final String COL_DEL_BY = "del_by";

    /**  */
	public static final String COL_DEL_TIME = "del_time";
}
